package com.lyp.jackson.model.mapper;

import com.lyp.jackson.model.entity.Seckill;

public interface SeckillMapper {

    /**
     * 校验库存
     * @param seckillId
     * @return
     */
    Seckill selectBySeckillId(long seckillId);
    /**
     * 扣除库存
     * @param seckillId
     * @return
     */
    int updateSeckillBySeckillId(long seckillId);

    /**
     * 悲观锁一 查询库存时WHERE后FOR UPDATE
     * @param seckillId
     * @return
     */
    Seckill selectSeckilDBPCC_ONE(long seckillId);

    /**
     * 悲观锁二 更新库存时WHERE后判断库存大于0
     * @param seckillId
     * @return
     */
    int updateSeckilDBPCC_TWO(long seckillId);

    int recoverySeckill(long seckillId);

}
